home *** CD-ROM | disk | FTP | other *** search
-
-
- #include <DeskBus.h>
-
- #include "PrefResource.h"
-
-
- #define kPrefsResourceType 'Smfr'
- #define kPrefsResourceID 128
-
- /*----------------------------------------------------------------------------
- GetPrefsData
-
- ----------------------------------------------------------------------------*/
-
- OSErr GetPrefsData(TPrefsData *outPrefsData)
- {
- TPrefsDataHandle prefsHandle;
-
- prefsHandle = (TPrefsDataHandle)GetResource(kPrefsResourceType, kPrefsResourceID);
- if (!prefsHandle) return resNotFound;
-
- *outPrefsData = **prefsHandle;
- ReleaseResource((Handle)prefsHandle);
- return noErr;
- }
-
-
- /*----------------------------------------------------------------------------
- SetPrefsData
-
- ----------------------------------------------------------------------------*/
-
- OSErr SetPrefsData(const TPrefsData *prefsData)
- {
- TPrefsDataHandle prefsHandle;
-
- prefsHandle = (TPrefsDataHandle)GetResource(kPrefsResourceType, kPrefsResourceID);
- if (!prefsHandle)
- {
- Str255 resName;
- resName[0] = 0;
-
- prefsHandle = (TPrefsDataHandle)NewHandleClear(sizeof(TPrefsData));
- if (!prefsHandle) return memFullErr;
-
- AddResource((Handle)prefsHandle, kPrefsResourceType, kPrefsResourceID, resName);
- }
-
- **prefsHandle = *prefsData;
- ChangedResource((Handle)prefsHandle);
- WriteResource((Handle)prefsHandle);
- return noErr;
- }
-
-